package com.sky.robot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 功能关联表单
 * </p>
 *
 * @author sky
 * @since 2024-09-25
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("sky_func_form")
public class SkyFuncForm implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 表单编码
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 功能ID
     */
    @TableField("function_id")
    private String functionId;

    /**
     * 存储form对应的表
     */
    @TableField("table_name")
    private String tableName;

    /**
     * 表单名称
     */
    @TableField("form_name")
    private String formName;

    /**
     * 表单显示类型0:列表1:卡片2:树
     */
    @TableField("form_type")
    private String formType;

    /**
     * 表单模块路径,所有按钮都调用这个
     */
    @TableField("model_url")
    private String modelUrl;

    /**
     * 主表单编码
     */
    @TableField("main_form_code")
    private String mainFormCode;

    /**
     * 主表单名称
     */
    @TableField("main_form_name")
    private String mainFormName;

    /**
     * 卡片样式
     */
    @TableField("card_style")
    private String cardStyle;

    /**
     * 是否只读
     */
    @TableField("is_readonly")
    private String isReadonly;

    /**
     * 过滤条件
     */
    @TableField("where_sql")
    private String whereSql;

    /**
     * 排序SQL
     */
    @TableField("order_sql")
    private String orderSql;

    /**
     * 表单排序
     */
    @TableField("form_order")
    private Integer formOrder;

    /**
     * 监听类
     */
    @TableField("listener_class")
    private String listenerClass;

    /**
     * 汇总字段
     */
    @TableField("sum_fields")
    private String sumFields;

    /**
     * 是否启用
     */
    @TableField("is_use")
    private String isUse;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;
}
